package com.tubang.logistics.vo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tubang.common.vo.BaseVo;
import com.tubang.component.entity.AddressEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 发布货源视图对象
 */
@SuppressWarnings("serial")
public class OrderListVo extends BaseVo {


    /**
     * 运单 订单 编号
     */
    private String num;

    /**
     * 发货人
     */
    private AddressEntity addressFrom;

    /**
     * 收货人
     */
    private AddressEntity addresTo;

    /**
     * 货物名称
     */
    private String goodsName;

    /**
     * 货品重量
     */
    private Double goodsWeight;

    /**
     * 货物重量
     */
    private String weight;

    /**
     * 车辆要求
     */
    private String containerType;

    /**
     * 运输单价
     */
    private Double carriage;


    /**
     * 运单状态
     */
    private String statusCode;


    /**
     * 竞价状态
     */
    private String biddStatusCode;


    /**
     * 竞价状态描述
     */
    private String biddStatusCodeDesc;



    /**
     * 竞价 抢单  单来源  60006 平台  60003 物流公司
     */
    private String orderType;


    /**
     * 实际提货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date takeRealDate;


    /**
     * 计划提货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date takePlanDate;


    /**
     * 计划卸货时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date unloadPlanDate;

    /**
     * 实际卸货时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date unloadRealDate;


    /**
     * 计划卸货时间
     */
    private String unloadPlanDateStr;
    /**
     * 计划提货时间
     */
    private String takePlanDateStr;


    /**
     * 实际提货时间
     */
    private String takeRealDateStr;

    /**
     * 实际卸货时间
     */
    private String unloadRealDateStr;


    /**
     * 备注
     */
    private String note;


    public String getBiddStatusCode() {
        return biddStatusCode;
    }

    public void setBiddStatusCode(String biddStatusCode) {
        this.biddStatusCode = biddStatusCode;
    }

    public String getBiddStatusCodeDesc() {
        return biddStatusCodeDesc;
    }

    public void setBiddStatusCodeDesc(String biddStatusCodeDesc) {
        this.biddStatusCodeDesc = biddStatusCodeDesc;
    }

    /**
     * 发布时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;


    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public AddressEntity getAddressFrom() {
        return addressFrom;
    }

    public void setAddressFrom(AddressEntity addressFrom) {
        this.addressFrom = addressFrom;
    }

    public AddressEntity getAddresTo() {
        return addresTo;
    }

    public void setAddresTo(AddressEntity addresTo) {
        this.addresTo = addresTo;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getWeight() {
        return weight;
    }

    public void setWeight(String weight) {
        this.weight = weight;
    }

    public String getContainerType() {
        return containerType;
    }

    public void setContainerType(String containerType) {
        this.containerType = containerType;
    }

    public Double getCarriage() {
        return carriage;
    }

    public void setCarriage(Double carriage) {
        this.carriage = carriage;
    }

    public String getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(String statusCode) {
        this.statusCode = statusCode;
    }

    public Date getTakeRealDate() {
        return takeRealDate;
    }

    public void setTakeRealDate(Date takeRealDate) {
        this.takeRealDate = takeRealDate;
    }

    public Date getTakePlanDate() {
        return takePlanDate;
    }

    public void setTakePlanDate(Date takePlanDate) {
        this.takePlanDate = takePlanDate;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public Date getUnloadPlanDate() {
        return unloadPlanDate;
    }

    public void setUnloadPlanDate(Date unloadPlanDate) {
        this.unloadPlanDate = unloadPlanDate;
    }

    public Date getUnloadRealDate() {
        return unloadRealDate;
    }

    public void setUnloadRealDate(Date unloadRealDate) {
        this.unloadRealDate = unloadRealDate;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getUnloadPlanDateStr() {
        return unloadPlanDateStr;
    }

    public void setUnloadPlanDateStr(String unloadPlanDateStr) {
        this.unloadPlanDateStr = unloadPlanDateStr;
    }

    public String getTakePlanDateStr() {
        return takePlanDateStr;
    }

    public void setTakePlanDateStr(String takePlanDateStr) {
        this.takePlanDateStr = takePlanDateStr;
    }

    public String getTakeRealDateStr() {
        return takeRealDateStr;
    }

    public void setTakeRealDateStr(String takeRealDateStr) {
        this.takeRealDateStr = takeRealDateStr;
    }

    public String getUnloadRealDateStr() {
        return unloadRealDateStr;
    }

    public void setUnloadRealDateStr(String unloadRealDateStr) {
        this.unloadRealDateStr = unloadRealDateStr;
    }

    public Double getGoodsWeight() {
        return goodsWeight;
    }

    public void setGoodsWeight(Double goodsWeight) {
        this.goodsWeight = goodsWeight;
    }
}
